#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//void test_string03()
//{
//	string s2("hello world");
//	cout << s2.length() << endl;
//	cout << s2.size() << endl;
//	cout << s2.max_size() << endl;
//	cout << s2.capacity() << endl;
//}
//void test_string04()
//{
//	string s2;
//	cout << s2.capacity() << endl;
//	int sz = s2.capacity();
//	s2.reserve(100);
//	for (int i = 0; i < 10; i++)
//	{
//		for(int j=0;j<10;j++)
//
//		{
//			s2.push_back('x');
//			if (sz!= s2.capacity())
//			{
//				sz = s2.capacity();
//				cout << "capacity  changed: " << sz << endl;
//			}
//		}
//		
//	}
//	s2.clear();
//	cout << s2.size() << endl;
//	cout << s2.capacity() << endl;
//}
class Solution {
public:
    int firstUniqChar(string s) {
        char str[256] = { 0 };
        for (auto x : s)
        {
            str[x]++;
        }
        int i = 0;
        int flag = -1;
        for (i = 0; i < 256; i++)
        {
            if (str[i] == 1)
            {
                flag = i;
            }
        }
        if (flag == -1)
        {
            return -1;
        }
        else
        {
            for (i = 0; i < s.length() - 1; i++)
            {
                if (s[i] == flag)
                {
                    return i;
                }
            }
        }
        return -1;
    }

};
int main()
{
	//test_string04();

	return 0;
}
int str[26] = { 0 };
for (auto x : s)
{
    str[x - 'a']++;
}
int i = 0;
int flag = -1;
for (i = 0; i < s.size(); i++)
{
    if (str[s[i] - 'a'] == 1)
    {
        flag = i;
        break;
    }
}
if (flag == -1)
{
    return -1;
}
else
{
    for (i = 0; i < s.length() - 1; i++)
    {
        if (s[i] == flag)
        {
            return i;
        }
    }
}
return -1;